home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / QuickTime VR / MacOS / QuickDraw™ 3D 1.0.6F4 SDK / Development / 3DMF parser / 0.9 version / MFOBJTYP.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-24  |  16.4 KB  |  589 lines  |  [TEXT/MPS ]

  1. #ifndef    MF3D_OBJECTTYPE_H
  2. #define    MF3D_OBJECTTYPE_H
  3. /*==============================================================================
  4.  *
  5.  *    File:        MFOBJTYP.H
  6.  *
  7.  *    Function:    Object name/type lookup
  8.  *
  9.  *    Author(s):    Rick Wong (RWW), Duet Development Corp.
  10.  *
  11.  *    Copyright:    (c) 1995 by Apple Computer, Inc., all rights reserved.
  12.  *
  13.  *    Change History (most recent first):
  14.  *        Fabio    Changed file name to 8 characters
  15.  *        F3A_RWW    MeshEdges and OrientationStyle.
  16.  *        F2S_RWW    BeginGroup
  17.  *        F2R_RWW    Change to simple object theory.
  18.  *        F2H_RWW    File created.
  19.  *==============================================================================
  20.  */
  21. #if defined(__COMPILING_ON_MACINTOSH__)
  22. #pragma once
  23. #endif
  24.  
  25. #include <stddef.h>
  26.  
  27. #include "MFOBJCTS.H"
  28. #include "MFOBJECT.H"
  29.  
  30. typedef struct    MF3D_ObjStuff
  31. {    MF3DObjType        type;
  32.     MF3DCStringPtr    name;
  33.     MF3DErr            (*reader)    (MF3D_FilePtr inMetafile,
  34.                                         MF3DVoidObjPtr *outObj);
  35.     MF3DErr            (*writer)    (MF3D_FilePtr inMetafile,
  36.                                         MF3DVoidObjPtr inObj);
  37.     MF3DErr            (*disposer)    (MF3DVoidObjPtr inObj);
  38. } MF3D_ObjStuff, *MF3D_ObjStuffPtr;
  39.  
  40. /*==============================================================================
  41.  *    Object Data and Method Tables
  42.  *==============================================================================
  43.  */
  44. #ifndef MF3D_Extern
  45. extern MF3D_ObjStuff    gMF3D_ObjStuffTable[];
  46. #else
  47. MF3D_ObjStuff    gMF3D_ObjStuffTable[] =
  48. {    kMF3DObjMetafile,
  49.         kMF3DObjMetafileText,
  50.         MF3D_ObjMetafileReader,
  51.         MF3D_ObjMetafileWriter,
  52.         MF3D_ObjMetafileDisposer,
  53.     kMF3DObjContainer,
  54.         kMF3DObjContainerText,
  55.         MF3D_ObjContainerReader,
  56.         MF3D_ObjContainerWriter,
  57.         MF3D_ObjContainerDisposer,
  58.     kMF3DObjEndContainer,
  59.         NULL,
  60.         NULL,
  61.         MF3D_ObjEndContainerWriter,
  62.         MF3D_ObjEndContainerDisposer,
  63.     kMF3DObjBeginGroup,
  64.         kMF3DObjBeginGroupText,
  65.         MF3D_ObjBeginGroupReader,
  66.         MF3D_ObjBeginGroupWriter,
  67.         MF3D_ObjBeginGroupDisposer,
  68.     kMF3DObjEndGroup,
  69.         kMF3DObjEndGroupText,
  70.         MF3D_ObjEndGroupReader,
  71.         MF3D_ObjEndGroupWriter,
  72.         MF3D_ObjEndGroupDisposer,
  73.     kMF3DObjReference,
  74.         kMF3DObjReferenceText,
  75.         MF3D_ObjReferenceReader,
  76.         MF3D_ObjReferenceWriter,
  77.         MF3D_ObjReferenceDisposer,
  78.     kMF3DObjTableOfContents,
  79.         kMF3DObjTableOfContentsText,
  80.         MF3D_ObjTableOfContentsReader,
  81.         MF3D_ObjTableOfContentsWriter,
  82.         MF3D_ObjTableOfContentsDisposer,
  83.     kMF3DObjType,
  84.         kMF3DObjTypeText,
  85.         MF3D_ObjTypeReader,
  86.         MF3D_ObjTypeWriter,
  87.         MF3D_ObjTypeDisposer,
  88.     kMF3DObjFaceAttributeSetList,
  89.         kMF3DObjFaceAttributeSetListText,
  90.         MF3D_ObjFaceAttributeSetListReader,
  91.         MF3D_ObjFaceAttributeSetListWriter,
  92.         MF3D_ObjFaceAttributeSetListDisposer,
  93.     kMF3DObjGeometryAttributeSetList,
  94.         kMF3DObjGeometryAttributeSetListText,
  95.         MF3D_ObjGeometryAttributeSetListReader,
  96.         MF3D_ObjGeometryAttributeSetListWriter,
  97.         MF3D_ObjGeometryAttributeSetListDisposer,
  98.     kMF3DObjVertexAttributeSetList,
  99.         kMF3DObjVertexAttributeSetListText,
  100.         MF3D_ObjVertexAttributeSetListReader,
  101.         MF3D_ObjVertexAttributeSetListWriter,
  102.         MF3D_ObjVertexAttributeSetListDisposer,
  103.     kMF3DObjCameraPlacement,
  104.         kMF3DObjCameraPlacementText,
  105.         MF3D_ObjCameraPlacementReader,
  106.         MF3D_ObjCameraPlacementWriter,
  107.         MF3D_ObjCameraPlacementDisposer,
  108.     kMF3DObjCameraRange,
  109.         kMF3DObjCameraRangeText,
  110.         MF3D_ObjCameraRangeReader,
  111.         MF3D_ObjCameraRangeWriter,
  112.         MF3D_ObjCameraRangeDisposer,
  113.     kMF3DObjCameraViewPort,
  114.         kMF3DObjCameraViewPortText,
  115.         MF3D_ObjCameraViewPortReader,
  116.         MF3D_ObjCameraViewPortWriter,
  117.         MF3D_ObjCameraViewPortDisposer,
  118.     kMF3DObjBottomCapAttributeSet,
  119.         kMF3DObjBottomCapAttributeSetText,
  120.         MF3D_ObjBottomCapAttributeSetReader,
  121.         MF3D_ObjBottomCapAttributeSetWriter,
  122.         MF3D_ObjBottomCapAttributeSetDisposer,
  123.     kMF3DObjCaps,
  124.         kMF3DObjCapsText,
  125.         MF3D_ObjCapsReader,
  126.         MF3D_ObjCapsWriter,
  127.         MF3D_ObjCapsDisposer,
  128.     kMF3DObjFaceCapAttributeSet,
  129.         kMF3DObjFaceCapAttributeSetText,
  130.         MF3D_ObjFaceCapAttributeSetReader,
  131.         MF3D_ObjFaceCapAttributeSetWriter,
  132.         MF3D_ObjFaceCapAttributeSetDisposer,
  133.     kMF3DObjTopCapAttributeSet,
  134.         kMF3DObjTopCapAttributeSetText,
  135.         MF3D_ObjTopCapAttributeSetReader,
  136.         MF3D_ObjTopCapAttributeSetWriter,
  137.         MF3D_ObjTopCapAttributeSetDisposer,
  138.     kMF3DObjDisplayGroupState,
  139.         kMF3DObjDisplayGroupStateText,
  140.         MF3D_ObjDisplayGroupStateReader,
  141.         MF3D_ObjDisplayGroupStateWriter,
  142.         MF3D_ObjDisplayGroupStateDisposer,
  143.     kMF3DObjLightData,
  144.         kMF3DObjLightDataText,
  145.         MF3D_ObjLightDataReader,
  146.         MF3D_ObjLightDataWriter,
  147.         MF3D_ObjLightDataDisposer,
  148.     kMF3DObjMeshCorners,
  149.         kMF3DObjMeshCornersText,
  150.         MF3D_ObjMeshCornersReader,
  151.         MF3D_ObjMeshCornersWriter,
  152.         MF3D_ObjMeshCornersDisposer,
  153.     kMF3DObjMeshEdges,
  154.         kMF3DObjMeshEdgesText,
  155.         MF3D_ObjMeshEdgesReader,
  156.         MF3D_ObjMeshEdgesWriter,
  157.         MF3D_ObjMeshEdgesDisposer,
  158.     kMF3DObjNURBCurve2D,
  159.         kMF3DObjNURBCurve2DText,
  160.         MF3D_ObjNURBCurve2DReader,
  161.         MF3D_ObjNURBCurve2DWriter,
  162.         MF3D_ObjNURBCurve2DDisposer,
  163.     kMF3DObjShaderData,
  164.         kMF3DObjShaderDataText,
  165.         MF3D_ObjShaderDataReader,
  166.         MF3D_ObjShaderDataWriter,
  167.         MF3D_ObjShaderDataDisposer,
  168.     kMF3DObjShaderTransform,
  169.         kMF3DObjShaderTransformText,
  170.         MF3D_ObjShaderTransformReader,
  171.         MF3D_ObjShaderTransformWriter,
  172.         MF3D_ObjShaderTransformDisposer,
  173.     kMF3DObjShaderUVTransform,
  174.         kMF3DObjShaderUVTransformText,
  175.         MF3D_ObjShaderUVTransformReader,
  176.         MF3D_ObjShaderUVTransformWriter,
  177.         MF3D_ObjShaderUVTransformDisposer,
  178.     kMF3DObjTrimCurves,
  179.         kMF3DObjTrimCurvesText,
  180.         MF3D_ObjTrimCurvesReader,
  181.         MF3D_ObjTrimCurvesWriter,
  182.         MF3D_ObjTrimCurvesDisposer,
  183.     kMF3DObjImageClearColor,
  184.         kMF3DObjImageClearColorText,
  185.         MF3D_ObjImageClearColorReader,
  186.         MF3D_ObjImageClearColorWriter,
  187.         MF3D_ObjImageClearColorDisposer,
  188.     kMF3DObjImageDimensions,
  189.         kMF3DObjImageDimensionsText,
  190.         MF3D_ObjImageDimensionsReader,
  191.         MF3D_ObjImageDimensionsWriter,
  192.         MF3D_ObjImageDimensionsDisposer,
  193.     kMF3DObjImageMask,
  194.         kMF3DObjImageMaskText,
  195.         MF3D_ObjImageMaskReader,
  196.         MF3D_ObjImageMaskWriter,
  197.         MF3D_ObjImageMaskDisposer,
  198.     kMF3DObjAmbientCoefficient,
  199.         kMF3DObjAmbientCoefficientText,
  200.         MF3D_ObjAmbientCoefficientReader,
  201.         MF3D_ObjAmbientCoefficientWriter,
  202.         MF3D_ObjAmbientCoefficientDisposer,
  203.     kMF3DObjDiffuseColor,
  204.         kMF3DObjDiffuseColorText,
  205.         MF3D_ObjDiffuseColorReader,
  206.         MF3D_ObjDiffuseColorWriter,
  207.         MF3D_ObjDiffuseColorDisposer,
  208.     kMF3DObjHighlightState,
  209.         kMF3DObjHighlightStateText,
  210.         MF3D_ObjHighlightStateReader,
  211.         MF3D_ObjHighlightStateWriter,
  212.         MF3D_ObjHighlightStateDisposer,
  213.     kMF3DObjNormal,
  214.         kMF3DObjNormalText,
  215.         MF3D_ObjNormalReader,
  216.         MF3D_ObjNormalWriter,
  217.         MF3D_ObjNormalDisposer,
  218.     kMF3DObjShadingUV,
  219.         kMF3DObjShadingUVText,
  220.         MF3D_ObjShadingUVReader,
  221.         MF3D_ObjShadingUVWriter,
  222.         MF3D_ObjShadingUVDisposer,
  223.     kMF3DObjSpecularColor,
  224.         kMF3DObjSpecularColorText,
  225.         MF3D_ObjSpecularColorReader,
  226.         MF3D_ObjSpecularColorWriter,
  227.         MF3D_ObjSpecularColorDisposer,
  228.     kMF3DObjSpecularControl,
  229.         kMF3DObjSpecularControlText,
  230.         MF3D_ObjSpecularControlReader,
  231.         MF3D_ObjSpecularControlWriter,
  232.         MF3D_ObjSpecularControlDisposer,
  233.     kMF3DObjSurfaceTangent,
  234.         kMF3DObjSurfaceTangentText,
  235.         MF3D_ObjSurfaceTangentReader,
  236.         MF3D_ObjSurfaceTangentWriter,
  237.         MF3D_ObjSurfaceTangentDisposer,
  238.     kMF3DObjSurfaceUV,
  239.         kMF3DObjSurfaceUVText,
  240.         MF3D_ObjSurfaceUVReader,
  241.         MF3D_ObjSurfaceUVWriter,
  242.         MF3D_ObjSurfaceUVDisposer,
  243.     kMF3DObjTransparencyColor,
  244.         kMF3DObjTransparencyColorText,
  245.         MF3D_ObjTransparencyColorReader,
  246.         MF3D_ObjTransparencyColorWriter,
  247.         MF3D_ObjTransparencyColorDisposer,
  248.     kMF3DObjRendererInteractive,
  249.         kMF3DObjRendererInteractiveText,
  250.         MF3D_ObjRendererInteractiveReader,
  251.         MF3D_ObjRendererInteractiveWriter,
  252.         MF3D_ObjRendererInteractiveDisposer,
  253.     kMF3DObjRendererGeneric,
  254.         kMF3DObjRendererGenericText,
  255.         MF3D_ObjRendererGenericReader,
  256.         MF3D_ObjRendererGenericWriter,
  257.         MF3D_ObjRendererGenericDisposer,
  258.     kMF3DObjRendererWireFrame,
  259.         kMF3DObjRendererWireFrameText,
  260.         MF3D_ObjRendererWireFrameReader,
  261.         MF3D_ObjRendererWireFrameWriter,
  262.         MF3D_ObjRendererWireFrameDisposer,
  263.     kMF3DObjRendererZBuffer,
  264.         kMF3DObjRendererZBufferText,
  265.         MF3D_ObjRendererZBufferReader,
  266.         MF3D_ObjRendererZBufferWriter,
  267.         MF3D_ObjRendererZBufferDisposer,
  268.     kMF3DObjAttributeSet,
  269.         kMF3DObjAttributeSetText,
  270.         MF3D_ObjAttributeSetReader,
  271.         MF3D_ObjAttributeSetWriter,
  272.         MF3D_ObjAttributeSetDisposer,
  273.     kMF3DObjOrthographicCamera,
  274.         kMF3DObjOrthographicCameraText,
  275.         MF3D_ObjOrthographicCameraReader,
  276.         MF3D_ObjOrthographicCameraWriter,
  277.         MF3D_ObjOrthographicCameraDisposer,
  278.     kMF3DObjViewAngleAspectCamera,
  279.         kMF3DObjViewAngleAspectCameraText,
  280.         MF3D_ObjViewAngleAspectCameraReader,
  281.         MF3D_ObjViewAngleAspectCameraWriter,
  282.         MF3D_ObjViewAngleAspectCameraDisposer,
  283.     kMF3DObjViewPlaneCamera,
  284.         kMF3DObjViewPlaneCameraText,
  285.         MF3D_ObjViewPlaneCameraReader,
  286.         MF3D_ObjViewPlaneCameraWriter,
  287.         MF3D_ObjViewPlaneCameraDisposer,
  288.     kMF3DObjBox,
  289.         kMF3DObjBoxText,
  290.         MF3D_ObjBoxReader,
  291.         MF3D_ObjBoxWriter,
  292.         MF3D_ObjBoxDisposer,
  293.     kMF3DObjCone,
  294.         kMF3DObjConeText,
  295.         MF3D_ObjConeReader,
  296.         MF3D_ObjConeWriter,
  297.         MF3D_ObjConeDisposer,
  298.     kMF3DObjCylinder,
  299.         kMF3DObjCylinderText,
  300.         MF3D_ObjCylinderReader,
  301.         MF3D_ObjCylinderWriter,
  302.         MF3D_ObjCylinderDisposer,
  303.     kMF3DObjDisk,
  304.         kMF3DObjDiskText,
  305.         MF3D_ObjDiskReader,
  306.         MF3D_ObjDiskWriter,
  307.         MF3D_ObjDiskDisposer,
  308.     kMF3DObjEllipse,
  309.         kMF3DObjEllipseText,
  310.         MF3D_ObjEllipseReader,
  311.         MF3D_ObjEllipseWriter,
  312.         MF3D_ObjEllipseDisposer,
  313.     kMF3DObjEllipsoid,
  314.         kMF3DObjEllipsoidText,
  315.         MF3D_ObjEllipsoidReader,
  316.         MF3D_ObjEllipsoidWriter,
  317.         MF3D_ObjEllipsoidDisposer,
  318.     kMF3DObjGeneralPolygon,
  319.         kMF3DObjGeneralPolygonText,
  320.         MF3D_ObjGeneralPolygonReader,
  321.         MF3D_ObjGeneralPolygonWriter,
  322.         MF3D_ObjGeneralPolygonDisposer,
  323.     kMF3DObjLine,
  324.         kMF3DObjLineText,
  325.         MF3D_ObjLineReader,
  326.         MF3D_ObjLineWriter,
  327.         MF3D_ObjLineDisposer,
  328.     kMF3DObjMarker,
  329.         kMF3DObjMarkerText,
  330.         MF3D_ObjMarkerReader,
  331.         MF3D_ObjMarkerWriter,
  332.         MF3D_ObjMarkerDisposer,
  333.     kMF3DObjMesh,
  334.         kMF3DObjMeshText,
  335.         MF3D_ObjMeshReader,
  336.         MF3D_ObjMeshWriter,
  337.         MF3D_ObjMeshDisposer,
  338.     kMF3DObjNURBCurve,
  339.         kMF3DObjNURBCurveText,
  340.         MF3D_ObjNURBCurveReader,
  341.         MF3D_ObjNURBCurveWriter,
  342.         MF3D_ObjNURBCurveDisposer,
  343.     kMF3DObjNURBPatch,
  344.         kMF3DObjNURBPatchText,
  345.         MF3D_ObjNURBPatchReader,
  346.         MF3D_ObjNURBPatchWriter,
  347.         MF3D_ObjNURBPatchDisposer,
  348.     kMF3DObjPoint,
  349.         kMF3DObjPointText,
  350.         MF3D_ObjPointReader,
  351.         MF3D_ObjPointWriter,
  352.         MF3D_ObjPointDisposer,
  353.     kMF3DObjPolygon,
  354.         kMF3DObjPolygonText,
  355.         MF3D_ObjPolygonReader,
  356.         MF3D_ObjPolygonWriter,
  357.         MF3D_ObjPolygonDisposer,
  358.     kMF3DObjPolyLine,
  359.         kMF3DObjPolyLineText,
  360.         MF3D_ObjPolyLineReader,
  361.         MF3D_ObjPolyLineWriter,
  362.         MF3D_ObjPolyLineDisposer,
  363.     kMF3DObjTorus,
  364.         kMF3DObjTorusText,
  365.         MF3D_ObjTorusReader,
  366.         MF3D_ObjTorusWriter,
  367.         MF3D_ObjTorusDisposer,
  368.     kMF3DObjTriangle,
  369.         kMF3DObjTriangleText,
  370.         MF3D_ObjTriangleReader,
  371.         MF3D_ObjTriangleWriter,
  372.         MF3D_ObjTriangleDisposer,
  373.     kMF3DObjTriGrid,
  374.         kMF3DObjTriGridText,
  375.         MF3D_ObjTriGridReader,
  376.         MF3D_ObjTriGridWriter,
  377.         MF3D_ObjTriGridDisposer,
  378.     kMF3DObjGroup,
  379.         kMF3DObjGroupText,
  380.         MF3D_ObjGroupReader,
  381.         MF3D_ObjGroupWriter,
  382.         MF3D_ObjGroupDisposer,
  383.     kMF3DObjDisplayGroup,
  384.         kMF3DObjDisplayGroupText,
  385.         MF3D_ObjDisplayGroupReader,
  386.         MF3D_ObjDisplayGroupWriter,
  387.         MF3D_ObjDisplayGroupDisposer,
  388.     kMF3DObjIOProxyDisplayGroup,
  389.         kMF3DObjIOProxyDisplayGroupText,
  390.         MF3D_ObjIOProxyDisplayGroupReader,
  391.         MF3D_ObjIOProxyDisplayGroupWriter,
  392.         MF3D_ObjIOProxyDisplayGroupDisposer,
  393.     kMF3DObjOrderedDisplayGroup,
  394.         kMF3DObjOrderedDisplayGroupText,
  395.         MF3D_ObjOrderedDisplayGroupReader,
  396.         MF3D_ObjOrderedDisplayGroupWriter,
  397.         MF3D_ObjOrderedDisplayGroupDisposer,
  398.     kMF3DObjInfoGroup,
  399.         kMF3DObjInfoGroupText,
  400.         MF3D_ObjInfoGroupReader,
  401.         MF3D_ObjInfoGroupWriter,
  402.         MF3D_ObjInfoGroupDisposer,
  403.     kMF3DObjLightGroup,
  404.         kMF3DObjLightGroupText,
  405.         MF3D_ObjLightGroupReader,
  406.         MF3D_ObjLightGroupWriter,
  407.         MF3D_ObjLightGroupDisposer,
  408.     kMF3DObjAmbientLight,
  409.         kMF3DObjAmbientLightText,
  410.         MF3D_ObjAmbientLightReader,
  411.         MF3D_ObjAmbientLightWriter,
  412.         MF3D_ObjAmbientLightDisposer,
  413.     kMF3DObjDirectionalLight,
  414.         kMF3DObjDirectionalLightText,
  415.         MF3D_ObjDirectionalLightReader,
  416.         MF3D_ObjDirectionalLightWriter,
  417.         MF3D_ObjDirectionalLightDisposer,
  418.     kMF3DObjPointLight,
  419.         kMF3DObjPointLightText,
  420.         MF3D_ObjPointLightReader,
  421.         MF3D_ObjPointLightWriter,
  422.         MF3D_ObjPointLightDisposer,
  423.     kMF3DObjSpotLight,
  424.         kMF3DObjSpotLightText,
  425.         MF3D_ObjSpotLightReader,
  426.         MF3D_ObjSpotLightWriter,
  427.         MF3D_ObjSpotLightDisposer,
  428.     kMF3DObjLambertIllumination,
  429.         kMF3DObjLambertIlluminationText,
  430.         MF3D_ObjLambertIlluminationReader,
  431.         MF3D_ObjLambertIlluminationWriter,
  432.         MF3D_ObjLambertIlluminationDisposer,
  433.     kMF3DObjPhongIllumination,
  434.         kMF3DObjPhongIlluminationText,
  435.         MF3D_ObjPhongIlluminationReader,
  436.         MF3D_ObjPhongIlluminationWriter,
  437.         MF3D_ObjPhongIlluminationDisposer,
  438.     kMF3DObjTextureShader,
  439.         kMF3DObjTextureShaderText,
  440.         MF3D_ObjTextureShaderReader,
  441.         MF3D_ObjTextureShaderWriter,
  442.         MF3D_ObjTextureShaderDisposer,
  443.     kMF3DObjBackfacingStyle,
  444.         kMF3DObjBackfacingStyleText,
  445.         MF3D_ObjBackfacingStyleReader,
  446.         MF3D_ObjBackfacingStyleWriter,
  447.         MF3D_ObjBackfacingStyleDisposer,
  448.     kMF3DObjFillStyle,
  449.         kMF3DObjFillStyleText,
  450.         MF3D_ObjFillStyleReader,
  451.         MF3D_ObjFillStyleWriter,
  452.         MF3D_ObjFillStyleDisposer,
  453.     kMF3DObjHighlightStyle,
  454.         kMF3DObjHighlightStyleText,
  455.         MF3D_ObjHighlightStyleReader,
  456.         MF3D_ObjHighlightStyleWriter,
  457.         MF3D_ObjHighlightStyleDisposer,
  458.     kMF3DObjInterpolationStyle,
  459.         kMF3DObjInterpolationStyleText,
  460.         MF3D_ObjInterpolationStyleReader,
  461.         MF3D_ObjInterpolationStyleWriter,
  462.         MF3D_ObjInterpolationStyleDisposer,
  463.     kMF3DObjOrientationStyle,
  464.         kMF3DObjOrientationStyleText,
  465.         MF3D_ObjOrientationStyleReader,
  466.         MF3D_ObjOrientationStyleWriter,
  467.         MF3D_ObjOrientationStyleDisposer,
  468.     kMF3DObjPickIDStyle,
  469.         kMF3DObjPickIDStyleText,
  470.         MF3D_ObjPickIDStyleReader,
  471.         MF3D_ObjPickIDStyleWriter,
  472.         MF3D_ObjPickIDStyleDisposer,
  473.     kMF3DObjPickPartsStyle,
  474.         kMF3DObjPickPartsStyleText,
  475.         MF3D_ObjPickPartsStyleReader,
  476.         MF3D_ObjPickPartsStyleWriter,
  477.         MF3D_ObjPickPartsStyleDisposer,
  478.     kMF3DObjReceiveShadowsStyle,
  479.         kMF3DObjReceiveShadowsStyleText,
  480.         MF3D_ObjReceiveShadowsStyleReader,
  481.         MF3D_ObjReceiveShadowsStyleWriter,
  482.         MF3D_ObjReceiveShadowsStyleDisposer,
  483.     kMF3DObjSubdivisionStyle,
  484.         kMF3DObjSubdivisionStyleText,
  485.         MF3D_ObjSubdivisionStyleReader,
  486.         MF3D_ObjSubdivisionStyleWriter,
  487.         MF3D_ObjSubdivisionStyleDisposer,
  488.     kMF3DObjMatrixTransform,
  489.         kMF3DObjMatrixTransformText,
  490.         MF3D_ObjMatrixTransformReader,
  491.         MF3D_ObjMatrixTransformWriter,
  492.         MF3D_ObjMatrixTransformDisposer,
  493.     kMF3DObjQuaternionTransform,
  494.         kMF3DObjQuaternionTransformText,
  495.         MF3D_ObjQuaternionTransformReader,
  496.         MF3D_ObjQuaternionTransformWriter,
  497.         MF3D_ObjQuaternionTransformDisposer,
  498.     kMF3DObjRotateTransform,
  499.         kMF3DObjRotateTransformText,
  500.         MF3D_ObjRotateTransformReader,
  501.         MF3D_ObjRotateTransformWriter,
  502.         MF3D_ObjRotateTransformDisposer,
  503.     kMF3DObjRotateAboutAxisTransform,
  504.         kMF3DObjRotateAboutAxisTransformText,
  505.         MF3D_ObjRotateAboutAxisTransformReader,
  506.         MF3D_ObjRotateAboutAxisTransformWriter,
  507.         MF3D_ObjRotateAboutAxisTransformDisposer,
  508.     kMF3DObjRotateAboutPointTransform,
  509.         kMF3DObjRotateAboutPointTransformText,
  510.         MF3D_ObjRotateAboutPointTransformReader,
  511.         MF3D_ObjRotateAboutPointTransformWriter,
  512.         MF3D_ObjRotateAboutPointTransformDisposer,
  513.     kMF3DObjScaleTransform,
  514.         kMF3DObjScaleTransformText,
  515.         MF3D_ObjScaleTransformReader,
  516.         MF3D_ObjScaleTransformWriter,
  517.         MF3D_ObjScaleTransformDisposer,
  518.     kMF3DObjTranslateTransform,
  519.         kMF3DObjTranslateTransformText,
  520.         MF3D_ObjTranslateTransformReader,
  521.         MF3D_ObjTranslateTransformWriter,
  522.         MF3D_ObjTranslateTransformDisposer,
  523.     kMF3DObjMacintoshPath,
  524.         kMF3DObjMacintoshPathText,
  525.         MF3D_ObjMacintoshPathReader,
  526.         MF3D_ObjMacintoshPathWriter,
  527.         MF3D_ObjMacintoshPathDisposer,
  528.     kMF3DObjUnixPath,
  529.         kMF3DObjUnixPathText,
  530.         MF3D_ObjUnixPathReader,
  531.         MF3D_ObjUnixPathWriter,
  532.         MF3D_ObjUnixPathDisposer,
  533.     kMF3DObjCString,
  534.         kMF3DObjCStringText,
  535.         MF3D_ObjCStringReader,
  536.         MF3D_ObjCStringWriter,
  537.         MF3D_ObjCStringDisposer,
  538.     kMF3DObjUnicode,
  539.         kMF3DObjUnicodeText,
  540.         MF3D_ObjUnicodeReader,
  541.         MF3D_ObjUnicodeWriter,
  542.         MF3D_ObjUnicodeDisposer,
  543.     kMF3DObjPixmapTexture,
  544.         kMF3DObjPixmapTextureText,
  545.         MF3D_ObjPixmapTextureReader,
  546.         MF3D_ObjPixmapTextureWriter,
  547.         MF3D_ObjPixmapTextureDisposer,
  548.     kMF3DObjViewHints,
  549.         kMF3DObjViewHintsText,
  550.         MF3D_ObjViewHintsReader,
  551.         MF3D_ObjViewHintsWriter,
  552.         MF3D_ObjViewHintsDisposer,
  553.  
  554.     kMF3DObjInvalid,
  555.         NULL,
  556.         NULL,
  557.         NULL,
  558.         NULL
  559. };
  560. #endif /* MF3D_Extern */
  561.  
  562. #ifndef MF3D_Extern
  563. extern    MF3D_ObjStuff    gMF3D_UnknownObjStuffTable;
  564. #else
  565. MF3D_ObjStuff    gMF3D_UnknownObjStuffTable =
  566. {    kMF3DObjUnknownType,
  567.         NULL,
  568.         MF3D_ObjUnknownReader,
  569.         MF3D_ObjUnknownWriter,
  570.         MF3D_ObjUnknownDisposer,
  571. };
  572. #endif /* MF3D_Extern */
  573.  
  574. MF3DErr    MF3D_FindObjectFromName(
  575.                 const char            *inObjName,
  576.                 MF3D_ObjStuffPtr    *outObjStuffPtr,
  577.                 MF3DObjType            *outObjectType);
  578.  
  579. MF3DErr    MF3D_FindObjectFromType(
  580.                 MF3DObjType            inObjType,
  581.                 MF3D_ObjStuffPtr    *outObjStuffPtr);
  582.  
  583. MF3DErr MF3D_ConvertUserDefinedObjType(
  584.                 MF3D_FilePtr        inMetafilePtr,
  585.                 MF3DObjType            inObjType,
  586.                 MF3DCStringPtr        *outObjName);
  587.  
  588. #endif
  589.